x86/emul: Correct the decoding of mov to/from cr/dr
authorAndrew Cooper <andrew.cooper3@citrix.com>
Tue, 14 Mar 2017 11:43:25 +0000 (12:43 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 14 Mar 2017 11:43:25 +0000 (12:43 +0100)
commit049b13dce84655cd73ac4acc051e7df46af00a4f
tree312b3bbe5a8654bf9e50791f6da2e9c9c006a235
parente26a2a00169bad403c9dcc597218080626cee861
x86/emul: Correct the decoding of mov to/from cr/dr

The mov to/from cr/dr behave as if they were encoded with Mod = 3.  When
encoded with Mod != 3, no displacement or SIB bytes are fetched.

Add a test with a deliberately malformed ModRM byte.  (Also add the
automatically-generated simd.h to .gitignore.)

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
master commit: c2e316b2f220af06dab76b1219e61441c31f6ff9
master date: 2017-03-07 17:29:16 +0000
tools/tests/x86_emulator/test_x86_emulator.c
xen/arch/x86/x86_emulate/x86_emulate.c